package com.qilu.careprogram.service;

import com.qilu.careprogram.pojo.dto.QaQueryDTO;
import com.qilu.careprogram.pojo.dto.NurseAnswerDTO;
import com.qilu.careprogram.model.PageResult;
import com.qilu.careprogram.pojo.dto.DoctorAnswerLinkDTO;
import com.qilu.careprogram.pojo.dto.DoctorAnswerDTO;
import com.qilu.careprogram.pojo.dto.WxSubscribeMessageDTO;
import com.qilu.careprogram.pojo.vo.DoctorQuestionVO;

import java.util.Map;

public interface MessageAlertService {
    String getOpenid(String code, String hospitalNumber) throws Exception;
    void addAuthority(String openid, String hospitalNumber) throws Exception;
    Map<String, Object> historyQa(String hospitalNumber) throws Exception;
    PageResult selectQa(QaQueryDTO queryDTO);
    void nurseAnswer(NurseAnswerDTO answerDTO);
    /**
     * 获取医生回答链接
     */
    DoctorAnswerLinkDTO getDoctorAnswerLink(Long answerId);

    /**
     * 医生获取问题信息
     */
    DoctorQuestionVO getQuestionForDoctor(Long questionId, String token);

    /**
     * 医生提交回答
     */
    void doctorAnswer(DoctorAnswerDTO doctorAnswerDTO);

    /**
     * 发送微信订阅消息
     * @param messageDTO 订阅消息参数（openid、模板ID、消息内容）
     * @return 微信接口返回的响应结果
     * @throws Exception 发送过程中的异常（如接口调用失败、参数错误等）
     */
    String sendSubscribeMessage(WxSubscribeMessageDTO messageDTO) throws Exception;
}